import * as React from "react";
import { Plugin, SpecialZoomLevel } from "../../core";

export interface RenderEnterFullScreenProps {
  onClick(): void;
}

export interface EnterFullScreenProps {
  children?(props: RenderEnterFullScreenProps): React.ReactElement;
}

export interface EnterFullScreenMenuItemProps {
  onClick(): void;
}

export interface FullScreenPlugin extends Plugin {
  EnterFullScreen(props: EnterFullScreenProps): React.ReactElement;
  EnterFullScreenButton(): React.ReactElement;
  EnterFullScreenMenuItem: (
    props: EnterFullScreenMenuItemProps
  ) => React.ReactElement;
}

export type Zoom = (scale: number | SpecialZoomLevel) => void;

export interface FullScreenPluginProps {
  onEnterFullScreen?(zoom: Zoom): void;
  onExitFullScreen?(zoom: Zoom): void;
}
